package datasource

//import (
//	"gitee.com/kristas/booting-go/framework"
//	"gitee.com/kristas/booting-go/framework/core/configure"
//	"gitee.com/kristas/booting-go/framework/core/statement/types"
//)
//
//func init() {
//	framework.Component(NewStarter())
//}
//
//type DataSourceStarter struct {
//	types.Component `name:"datasource_starter"`
//	DataSources     []DataSource `wire:""`
//}
//
//func NewStarter() *DataSourceStarter {
//	return &DataSourceStarter{}
//}
//
//func (d *DataSourceStarter) Init() error {
//	for _, ds := range d.DataSources {
//		var dsp = &DataSourceProperties{}
//		err := configure.BindPath(ds.Bean(), dsp)
//		if err != nil {
//			return err
//		}
//		_, err = ds.Build(dsp)
//		if err != nil {
//			return err
//		}
//	}
//	return nil
//}

//func (d *DataSourceStarter) AfterInit() {
//	for _, ds := range d.DataSources {
//		var dsp = &DataSourceProperties{}
//		err := configure.BindPath(ds.Bean(), dsp)
//		if err != nil {
//			panic(err)
//		}
//		_, err = ds.Build(dsp)
//		if err != nil {
//			panic(err)
//		}
//	}
//}
